sql INSERT INTO

Otázka od: fabik@kinekus.sk

2. 10. 2004 8:50

Zdravim,

D6, FB 1.5

Snazim sa zacat s SQL a narazil som na tento problem. Pre vas malickost pre
mna velka hora.

Na formulari mam editacne pole. Do Query ked zadam napr. prikaz
Query.SQL.Add('insert into kontakty (meno) values ("Milan")') je to OK.

Ak tamiesto konkretneho retazca zadam edit.text, ktore mam naplnene menom, mam
problem. Skusil som to takto a je to chyba.
Query.SQL.Add('insert into kontakty (meno) values (edit.text)') - chyba.

Na webe som preluskal asi vsetko, knihy ... nikde som nenasiel odpoved, kde
robim chybu.

Dakujem za pomoc.
Fabik Milan



Odpovedá: Tomas Juricek

2. 10. 2004 9:14

> Query.SQL.Add('insert into kontakty (meno) values (edit.text)') - chyba.

S SQL jsem nikdy nepracoval, ale tohle ti fungovat nemuze. Zkus to takto:
Query.SQL.Add('insert into kontakty (meno) values ('+edit.text+')')

Tomas Juricek



Odpovedá: David Klodner

2. 10. 2004 9:30

Chybi ti tam apostrofy kolem jmena, spravne to ma byt takto:

Query.SQL.Add('insert into kontakty (meno) values ('''+edit.text+''')');

Kdyz bude edit.text = Milan, tak vysledkem bude
Query.SQL.Add('insert into kontakty (meno) values ('Milan')');
Misto uvozovek pouzivej apostrofy.

Kdyby jsi pomoci SQL vkladal cislo (integer, float), tak tam ty
apostrofy kolem byt nemusi napr.
Query.SQL.Add('insert into kontakty (meno, cislo) values
('''+edit.text+''', CisloEdit.Text)');

David Klodner

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Tomas Juricek
Sent: Saturday, October 02, 2004 10:14 AM
To: delphi-l@clexpert.cz
Subject: Re: sql INSERT INTO


> Query.SQL.Add('insert into kontakty (meno) values (edit.text)') -
> chyba.

S SQL jsem nikdy nepracoval, ale tohle ti fungovat nemuze. Zkus to
takto: Query.SQL.Add('insert into kontakty (meno) values
('+edit.text+')')

Tomas Juricek




Odpovedá: Ladislav StarA?

2. 10. 2004 9:32

fabik@kinekus.sk napsal(a):

>Zdravim,
>
>D6, FB 1.5
>
>Snazim sa zacat s SQL a narazil som na tento problem. Pre vas malickost pre
>mna velka hora.
>
>Na formulari mam editacne pole. Do Query ked zadam napr. prikaz
>Query.SQL.Add('insert into kontakty (meno) values ("Milan")') je to OK.
>
>Ak tamiesto konkretneho retazca zadam edit.text, ktore mam naplnene menom, mam

>problem. Skusil som to takto a je to chyba.
>Query.SQL.Add('insert into kontakty (meno) values (edit.text)') - chyba.
>
>Na webe som preluskal asi vsetko, knihy ... nikde som nenasiel odpoved, kde
>robim chybu.
>
>Dakujem za pomoc.
>Fabik Milan
>
>
>

Pokud to chce+AWE- d+ARs-lat p+AVkA7Q-mo p+AVk-es SQL p+AVkA7Q-kaz, tak p+AVk-
es parametr

Query.SQL.Add('insert into kontakty (meno) values (:ParamJmeno)'),

kde ParamJmeno je parametr

P+AVk-ed zavol+AOE-n+AO0-m Query.ExecSQL je+AWE-t+ARs- mus+AO0- b+AP0-t
p+AVkA7Q-kaz, kter+AP0-m ten parametr nastav+AO0BYQ-:
Query.ParamByName('ParamJmeno').AsString := 'Milan'


Dal+AWEA7Q- mo+AX4-nost+AO0- je nastavit si jednotliv+AOk- sloupce pomoc+AO0-
FieldByName nebo p+AVkA7Q-mo prom+ARs-nn+AOk- TField na datou TQuery.

Nebo tak+AOk- m+AW8Bfg-e+AWE- pou+AX4A7Q-t metodu InsertRecord nad tou Query.


S pozdravem

Ladislav Star+AP0-



Odpovedá: David Klodner

2. 10. 2004 9:52

Ano, jde to i pres parametry, ale je treba si ohlidat, aby edit.text
nebyl delsi nez je velikost pole meno v DB.
Pokud totiz bude MENO VARCHAR(4) a edit.text=Milan, pak to zahlasi chybu
a nic se nezapise.
Jinak jsou ty parametry asi pohodlnejsi.

David Klodner

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Ladislav StarA?
Sent: Saturday, October 02, 2004 10:32 AM
To: delphi-l@clexpert.cz
Subject: Re: sql INSERT INTO


fabik@kinekus.sk napsal(a):

>Zdravim,
>
>D6, FB 1.5
>
>Snazim sa zacat s SQL a narazil som na tento problem. Pre vas malickost

>pre
>mna velka hora.
>
>Na formulari mam editacne pole. Do Query ked zadam napr. prikaz
>Query.SQL.Add('insert into kontakty (meno) values ("Milan")') je to OK.
>
>Ak tamiesto konkretneho retazca zadam edit.text, ktore mam naplnene
>menom, mam
>problem. Skusil som to takto a je to chyba.
>Query.SQL.Add('insert into kontakty (meno) values (edit.text)') -
chyba.
>
>Na webe som preluskal asi vsetko, knihy ... nikde som nenasiel odpoved,

>kde
>robim chybu.
>
>Dakujem za pomoc.
>Fabik Milan
>
>
>

Pokud to chce+AWE- d+ARs-lat p+AVkA7Q-mo p+AVk-es SQL p+AVkA7Q-kaz, tak
p+AVk-es parametr

Query.SQL.Add('insert into kontakty (meno) values (:ParamJmeno)'),

kde ParamJmeno je parametr

P+AVk-ed zavol+AOE-n+AO0-m Query.ExecSQL je+AWE-t+ARs- mus+AO0- b+AP0-t
P+p+AVkA7Q-kaz, kter+AP0-m ten parametr nastav+AO0BYQ-:
Query.ParamByName('ParamJmeno').AsString := 'Milan'


Dal+AWEA7Q- mo+AX4-nost+AO0- je nastavit si jednotliv+AOk- sloupce
Dal+pomoc+AO0- FieldByName nebo p+AVkA7Q-mo prom+ARs-nn+AOk- TField na
Dal+datou TQuery.

Nebo tak+AOk- m+AW8Bfg-e+AWE- pou+AX4A7Q-t metodu InsertRecord nad tou
Query.


S pozdravem

Ladislav Star+AP0-